package com.awg.dao;

import com.awg.vo.User;
import java.util.Set;

/**
 * 查询用户的相关信息接口
 *
 * @author awg
 * @date 2020-02-23
 * @version 1.0
 */
public interface IUserDao {

	/**
	 * 通过用户名到数据库中获取用户对象
	 *
	 * @param username 用户名
	 * @return 通过用户名在数据库中获得的用户对象
	 */
	User getUserByUserName(String username);


	/**
	 * 通过用户名从数据库或者缓存中获取用户的角色信息
	 *
	 * @param username 用户名
	 * @return 通过用户名在数据库或者缓存中获得的用户的角色信息
	 */
	Set<String> findRolesByUsername(String username);

	/**
	 * 通过用户名从数据库或者缓存中获取用户的角色信息所对应的权限信息
	 *
	 * @param username 用户名
	 * @return 通过用户名在数据库或者缓存中获得的用户的角色信息所对应的权限信息
	 */
	Set<String> findPermissionsByUsername(String username);
}
